Skip to content

Add Global ETF confidence vol gate profile#45

Merged
Pigbibi merged 1 commit into
mainfrom
codex/global-etf-confidence-vol-gate
May 7, 2026
Merged

Add Global ETF confidence vol gate profile#45
Pigbibi merged 1 commit into
mainfrom
codex/global-etf-confidence-vol-gate

Conversation

@Pigbibi
Copy link
Copy Markdown
Contributor

@Pigbibi Pigbibi commented May 7, 2026

Summary

Adds a separate global_etf_confidence_vol_gate runtime profile for testing the Global ETF confidence plus relative-volatility gate without changing the existing global_etf_rotation default behavior.

Context

Recent research showed that simply concentrating Global ETF rotation into Top1 improved CAGR but widened drawdown. The more useful signal was a guarded version: only shift from equal-weight Top2 to 75/25 Top1/Top2 when Top1 has a high momentum z-gap and its trailing volatility is not materially higher than Top2.

Changes

  • Extends the shared Global ETF signal engine with optional confidence weighting.
  • Keeps global_etf_rotation default confidence weighting disabled.
  • Adds global_etf_confidence_vol_gate with:
    • sma_period=250
    • confidence_threshold=1.0
    • confidence_top1_weight=0.75
    • confidence_volatility_window=126
    • confidence_volatility_max_ratio=1.3
  • Registers the new profile in catalog, manifest, runtime adapter, account sizing, docs, and tests.
  • Adds a research note documenting the production-like backtest snapshot and rollout caveat.
  • Hardens direct compute_signals calls by normalizing ranking and canary inputs before ticker-list construction.

Validation

  • python -m ruff check src/us_equity_strategies/strategies/global_etf_rotation.py src/us_equity_strategies/catalog.py src/us_equity_strategies/manifests/__init__.py src/us_equity_strategies/entrypoints/__init__.py src/us_equity_strategies/runtime_adapters.py src/us_equity_strategies/account_sizing.py tests/test_global_etf_rotation.py tests/test_catalog.py tests/test_entrypoints.py
  • python -m pytest tests/test_global_etf_rotation.py tests/test_catalog.py tests/test_entrypoints.py
  • python -m pytest

Rollout

This PR does not alter the existing global_etf_rotation profile. The new profile should be treated as an experimental runtime-enabled candidate for paper or small allocation first.

@Pigbibi Pigbibi marked this pull request as ready for review May 7, 2026 18:01
@Pigbibi
Copy link
Copy Markdown
Contributor Author

Pigbibi commented May 7, 2026

@codex review

@chatgpt-codex-connector
Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Swish!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Pigbibi Pigbibi merged commit c412f91 into main May 7, 2026
1 check passed
@Pigbibi Pigbibi deleted the codex/global-etf-confidence-vol-gate branch May 7, 2026 18:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant